package cn.fscode.code.generator.repository;

import cn.fscode.code.generator.mapper.GenTableIndexMapper;
import cn.fscode.code.generator.model.po.GenTableIndexPO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author shenguangyang
 */
@Repository
public class GenTableIndexRepository extends ServiceImpl<GenTableIndexMapper, GenTableIndexPO>
        implements IService<GenTableIndexPO> {

    public List<GenTableIndexPO> listByTableId(Long tableId) {
        LambdaQueryWrapper<GenTableIndexPO> wrapper = Wrappers.<GenTableIndexPO>lambdaQuery()
                .eq(GenTableIndexPO::getTableId, tableId);
        return this.list(wrapper);
    }

    public void deleteByTableId(Long tableId) {
        LambdaQueryWrapper<GenTableIndexPO> wrapper = Wrappers.<GenTableIndexPO>lambdaQuery()
                .eq(GenTableIndexPO::getTableId, tableId);
        this.remove(wrapper);
    }

    public void deleteBatchByTableIds(List<Long> tableIds) {
        LambdaQueryWrapper<GenTableIndexPO> wrapper = Wrappers.<GenTableIndexPO>lambdaQuery()
                .in(GenTableIndexPO::getTableId, tableIds);
        this.remove(wrapper);
    }
}
